// src/api/notification.js
import request from '@/utils/request';

// 获取待处理事项
export function getPendingNotifications() {
    return request({
        url: '/notifications/pending',
        method: 'get'
    });
}

// 获取消息列表
export function getNotifications(params) {
    return request({
        url: '/notifications',
        method: 'get',
        params
    });
}

// 标记消息为已读
export function markAsRead(id) {
    return request({
        url: `/notifications/${id}/read`,
        method: 'put'
    });
}

// 标记所有消息为已读
export function markAllAsRead() {
    return request({
        url: '/notifications/read-all',
        method: 'put'
    });
}

// 删除消息
export function deleteNotification(id) {
    return request({
        url: `/notifications/${id}`,
        method: 'delete'
    });
}

// 获取未读消息数量
export function getUnreadCount() {
    return request({
        url: '/notifications/unread-count',
        method: 'get'
    });
}

/**
 * 发送系统通知
 * @param {Object} data - 系统通知数据
 * @param {string} data.title - 通知标题
 * @param {string} data.content - 通知内容
 * @param {string} data.targetUrl - 目标URL
 * @param {Array<number>} data.userIds - 接收用户ID数组
 * @returns {Promise}
 */
export function sendSystemNotification(data) {
    return request({
        url: '/notifications/system',
        method: 'post',
        data
    });
}